#region License
/*

	Copyright (C) 2008 Oliver Charles, Daniel Hollander

	This program is free software: you can redistribute it and/or modify
	it under the terms of the GNU General Public License as published by
	the Free Software Foundation, either version 3 of the License, or
	(at your option) any later version.

	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.

	You should have received a copy of the GNU General Public License
	along with this program.  If not, see <http://www.gnu.org/licenses/>.
	
*/
#endregion

namespace Overload
{
    public class TileType
    {
        private readonly int movementCost;
        private readonly string imageIdentifier;

        private static readonly TileType grass = new TileType(1, "grass");
        private static readonly TileType forest = new TileType(5, "forest");
        private static readonly TileType hill = new TileType(5, "hill");
        private static readonly TileType river = new TileType(5, "river");
        private static readonly TileType debug = new TileType(1, "debug");

        public static TileType Grass
        {
            get { return grass; }
        }
        public static TileType Forest
        {
            get { return forest; }
        }
        public static TileType Hill
        {
            get { return hill; }
        }
        public static TileType River
        {
            get { return river; }
        }

        public int MovementCost
        {
            get { return movementCost; }
        }

        public static TileType Debug
        {
            get { return debug; }
        }

        public string ImageIdentifier
        {
            get { return imageIdentifier; }
        }

        public TileType(int movementCost, string imageIdentifier)
        {
            this.movementCost = movementCost;
            this.imageIdentifier = imageIdentifier;
        }
    }
}